#include "LED.h"
#include "systick.h"

void Led_Init(void)
{	
	rcu_periph_clock_enable(RCU_GPIOB);
	rcu_periph_clock_enable(RCU_GPIOC);
	rcu_periph_clock_enable(RCU_GPIOD);

	gpio_mode_set(GPIOB,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,GPIO_PIN_2);
	gpio_output_options_set(GPIOB,GPIO_OTYPE_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_2);

	gpio_mode_set(GPIOC,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,GPIO_PIN_6);
	gpio_output_options_set(GPIOC,GPIO_OTYPE_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_6);
	
	gpio_mode_set(GPIOD,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,BITS(8,15));
	gpio_output_options_set(GPIOD,GPIO_OTYPE_PP,GPIO_OSPEED_50MHZ,BITS(8,15));
	LEDSW(0);
	LED1(1);LED2(1);LED3(1);LED4(1);LED5(1);LED6(1);LED7(1);LED8(1);LED0(0);

}


void Led_on(LEDNUM NUM)
{
	if(NUM==LED1)  LED1(0);else LED1(1);
	if(NUM==LED2)  LED2(0);else LED2(1);
	if(NUM==LED3)  LED3(0);else LED3(1);
	if(NUM==LED3)  LED4(0);else LED4(1);
	if(NUM==LED4)  LED5(0);else LED5(1);
	if(NUM==LED5)  LED6(0);else LED6(1);
	if(NUM==LED6)  LED7(0);else LED7(1);
	if(NUM==LED7)  LED8(0);else LED8(1);
}

void Led_off(LEDNUM NUM)
{
	if(NUM==LED1)  LED1(1);
	if(NUM==LED2)  LED2(1);
	if(NUM==LED3)  LED3(1);
	if(NUM==LED3)  LED4(1);
	if(NUM==LED4)  LED5(1);
	if(NUM==LED5)  LED6(1);
	if(NUM==LED6)  LED7(1);
	if(NUM==LED7)  LED8(1);
}

void Led_Allon(void)
{
	gpio_bit_reset(GPIOD,BITS(8,15));
}

void Led_Alloff(void)
{
	gpio_bit_set(GPIOD,BITS(8,15));
}


void Led_Water(uint8_t start){
	uint8_t i;
	for(i=start;i<9;i++)
	{
		if(i>=1)  LED1(0);else LED1(1);
		if(i>=2)  LED2(0);else LED2(1);
		if(i>=3)  LED3(0);else LED3(1);
		if(i>=4)  LED4(0);else LED4(1);
		if(i>=5)  LED5(0);else LED5(1);
		if(i>=6)  LED6(0);else LED6(1);
		if(i>=7)  LED7(0);else LED7(1);
		if(i>=8)  LED8(0);else LED8(1);
		delay_1ms(200);
	}
}











